package annotation

import (
	"reflect"
)

// scanStructFieldAnno 标识结构体为一个扫描bean，将结构体字段作为GspringBean注入到gspring容器中
// 提供注解的作用，不让外部访问
type scanStructFieldAnno interface {
	markScanStructFieldAnnotation()
}

var _ scanStructFieldAnno = (*ScanStructField)(nil)

// ScanStructField 开发者可以将它作为内嵌属性字段，标记该结构体为一个扫描bean
type ScanStructField struct{}

// scanStructFieldAnnotation 约束了指针实现
func (*ScanStructField) markScanStructFieldAnnotation() {}

// GetRtScanStructFieldAnno 返回接口 [scanStructFieldAnno] 的反射类型
func (*ScanStructField) GetRtScanStructFieldAnno() reflect.Type {
	return reflect.TypeOf((*scanStructFieldAnno)(nil)).Elem()
}
